package com.example.demo.mapper;

import java.util.List;

import com.example.demo.dto.AddRequestDto;
import com.example.demo.dto.DetailRequestDto;
import com.example.demo.dto.EditRequestDto;
import com.example.demo.dto.InfoRequestDto;
import com.example.demo.entity.AuthorityEnity;

/**
 * AuthorityInfoMapper
 */
public interface AuthorityInfoMapper {

	/**
	 * 権限削除
	 * 
	 * @param requestDto
	 * @return
	 */
	Integer authorityRemoval(String authorityCode, boolean deletionFlag);

	/**
	 * ログイン権限情報を取得
	 *
	 * @param requestDto requestDto
	 * @return 権限情報
	 */
	List<AuthorityEnity> authorityInfo(InfoRequestDto inforequestDto);

	/**
	 * 権限情報を取得表示する
	 * 
	 * @param editRequestDto
	 * @return
	 */
	AuthorityEnity selectByCode(EditRequestDto editRequestDto);

	/**
	 * 権限情報を編集する
	 * 
	 * @param editRequestDto
	 * @return
	 */
	Integer updateByCode(EditRequestDto requestDto);
	/**
	 * ログイン登録社員情報を取得
	 *
	 * @param requestDto requestDto
	 * @return 
	 */
	List<AuthorityEnity> detail(DetailRequestDto requestDto);
	
	/**
	 * 権限を新規する
	 * 
	 * @param addRequestDto
	 * @return Integer
	 */
	Integer addAuthority(AddRequestDto addRequestDto);

	/**
	 * コードを取得する
	 *
	 * @param
	 * @return Integer
	 */
	Integer selectMaxCode();
}
